/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pooproj.repositorio;

import java.util.ArrayList;
import pooproj.basica.Categoria;
import pooproj.erro.ConexaoException;
import pooproj.erro.ConsultaException;

/**
 *
 * @author Daniella
 */
public interface RepositorioCategoria {
    
    
    /**
     * Método insere nova categoria no bd
     * @param cat
     * @throws ConsultaException
     * @throws ConexaoException
     */
    public void inserir(Categoria cat) throws ConsultaException,ConexaoException;
    
    /**
     * altera categoria
     * @param cat
     * @throws ConsultaException
     * @throws ConexaoException
     */
    public void alterar(Categoria cat) throws ConsultaException,ConexaoException;
    
    /**
     * Exclui categoria
     * @param cat
     * @throws ConsultaException
     * @throws ConexaoException
     */
    public void excluir(Categoria cat) throws ConsultaException,ConexaoException;
    
    /**
     * Lista todos os registros para categoria
     * @return ArrayList
     * @throws ConsultaException
     * @throws ConexaoException
     */
    public ArrayList<Categoria> listar() throws ConsultaException,ConexaoException;
    
    /**
     * Consulta uma categoria no bd a partir do codigo da categoria
     * @param id
     * @return Categoria
     * @throws ConsultaException
     * @throws ConexaoException
     */
    public Categoria consultar(Integer id) throws ConsultaException,ConexaoException;
    
    /**
     * Consulta uma categoria no bd a partir do nome da categoria
     * @param nome
     * @return Categoria
     * @throws ConsultaException
     * @throws ConexaoException
     */
    public Categoria consultar(String nome) throws ConsultaException,ConexaoException;

    
}
